SSA 1.7.x is out! そのうちAtomにも対応するつもり。


概要

SublimeSocketAsset

http://u3d.as/content/sassembla/sublime-socket-asset/4SP


の、最新版 1.7系がついにリリースできた。


合わせて、SublimeTextのプラグインである

SublimeSocketのversionもST2, ST3版ともに1.4に上がった。


変更内容としては、どっちかというとSublimeSocketのエディタAPI機能強化と、

内部で使っていたプログラマブルな設定ファイルのDSL化、DSLとしてのパージがメインだった。

パージする過程でキバッたメンバーの手によりテストランナーが誕生するとかしてた。



DSL + テストランナーの仕様と処理系を切り出す事に成功したが、それはこちら。

SushiJSON

http://sassembla.github.io/Public/2014:02:22%2021-48-23/2014:02:22%2021-48-23.html



結果として、ST2、ST3に、動的にプログラマブルな形で新機能を実装できた。


・ログヒストリー機能の追加

・エラー表示の内部化

・quickfixの追加

・プログラマブル

・テスタブル



Unityの実行時ログのヒストリー表示機能が付いた


同じ箇所のログをヒストリーとして纏めて表示することができるので、

値の変化とかを超追いやすくなった。


ツールチップUIの有無で表示方法が変化する。


on ST3

スクリーンショット 2014-03-06 3.31.48.png

on ST2

ツールチップが無いから別ビューで出すようにした。スクリーンショット 2014-03-06 3.27.26.png

いやーーーーマジ便利っすわァーーーー

値が増えてるか減ってるか、

ココを通ったときのパラメータがどうなってるか、がコードに出せる!


エラー表示の内部化

こちらもツールチップの利用。

ST2版は別ビューででる。


複数のエラーがある場合は複数の項目が縦に並ぶ。

cutout.png

見やすさ。

なんという見やすさよ。

これがプログラマブルにフィルタとしてセットできるんだぜヒャッホウ。



quickfixの追加

おまけ程度だけど、quickfix可能であれば、該当するエラーのツールチップを押すと

quickfixが出て、修正が走る。スクリーンショット 2014-03-06 4.57.24.png


プログラマブル

これらの機構は、全部SushiJSONの組み合わせで書かれている。

マッチさせたいエラーの定義も、マッチ後どんなAPIをぶったたいてどんな値を使いたいかも、

JSONみたいな書き方で動かせる。

スクリーンショット 2014-03-06 11.05.50.png

例えば、

・エラーが出たらエディタの特定行を光らせる

・探知時のパラメータを使ってshellを走らせる

とかができる。



一番の用途は、

・エディタへのユーザーのアクション or その後のコンパイラのリアクションを元に何かする

というところ。



もちろん、保存したらコンパイル、なんかもここで実現している。


結果としてタスクランナーみたいなのも可能だけど、ちゃんと特化した奴を使うのが良いとおもう。

ドキュメントはSublimeSocketに追加中。 API名と出力パラメータをリスト化すればDone。


テスタブル

テストできる項目の都合で、ほぼST3専用だが、


ST3にSublimeSocket 1.4.0 を入れた状態で、


sublimesocket test


で、テストが走る。

ツールチップとかめっちゃでる。

これ。

https://vimeo.com/85882769

スクリーンショット 2014-03-08 8.09.17.png





Atomに向けて

SushiJSONは実行系がわりと小さく書けるので、Atomでも動かす事が出来ると思う。

魅力的なツールチップとかが出て来たら対応する。